package cn.xu.tool.big.a.compments;

import org.jfree.chart.renderer.xy.CandlestickRenderer;
import org.jfree.data.time.ohlc.OHLCSeries;
import org.jfree.data.xy.DefaultOHLCDataset;
import org.jfree.data.xy.OHLCDataItem;
import org.jfree.data.xy.OHLCDataset;

import java.awt.*;
import java.text.SimpleDateFormat;

/**
 * 类名: ColorVolumeRenderer
 * 描述: TODO
 * 作者: ClarkXu clark2021@qq.com
 * 日期: 2025/7/9
 */
public class ColorVolumeRenderer extends CandlestickRenderer {
    private final OHLCDataset dataset;

    public ColorVolumeRenderer(OHLCDataset dataset) {
        this.dataset = dataset;
    }

    @Override
    public Paint getItemPaint(int series, int item) {
        OHLCDataItem dataItem = new OHLCDataItem(
                ((DefaultOHLCDataset) dataset).getXDate(series, item),       // 日期
                dataset.getOpenValue(series, item),     // 开盘价
                dataset.getHighValue(series, item),     // 最高价
                dataset.getLowValue(series, item),      // 最低价
                dataset.getCloseValue(series, item),    // 收盘价
                dataset.getVolumeValue(series, item)    // 成交量
        );
        this.setVolumePaint(dataItem.getClose().doubleValue() >= dataItem.getOpen().doubleValue()
                ? new Color(220, 53, 69, 180)
                : new Color(50, 168, 82, 180));
        return dataItem.getClose().doubleValue() >= dataItem.getOpen().doubleValue()
                ? new Color(220, 53, 69, 180)
                : new Color(50, 168, 82, 180);
    }
}
